﻿using OneWorks.Application.Entity;

namespace OneWorks.Application.Interface
{
    using System;

    using Metadata.Entity;

    public interface IUserService
    {
        RunResult<User> Add(User user);

        RunResult<User> Modify(User user);

        RunResult<bool> Login(User user);

        RunResult ModifyMobile(Guid guid, string value);

        RunResult ModifyEmail(Guid guid, string value);

        RunResult ModifyPassWord(Guid guid, string value);

        RunResult ModifyLastLoginDate(Guid guid);

        RunResult<User> Get(Guid guid);

        RunResult<User> Get(string account);

        RunResult ModifyErrorCount(Guid guid, int value);

        RunResult LockUser(Guid guid);

        RunResult<bool> ExistAccount(string value);

        RunResult<User> GetLoginStatus(string value);
    }
}
